package cn.com.blueInfo.HaiYuan.business.invoice.mapper;

import cn.com.blueInfo.HaiYuan.business.invoice.entity.InvoiceBase;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * 发票基本信息表
 * @ClassName: InvoiceBaseMapper
 * @tableName: tj_hai_invoice_base
 * @author suxch
 * @date 2019年4月23日  下午12:08:53
 */
@Mapper
public interface InvoiceBaseMapper extends BaseMapper<InvoiceBase> {

    /**
     * 批量新增发票基本信息
     * @Title: batchAddInvoiceBaseInfo
     * @param invoiceBaseList
     * @return int
     * @throws
     */
    int batchAddInvoiceBaseInfo(List<InvoiceBase> invoiceBaseList);

    /**
     * 新增发票基本信息
     * @Title: addInvoiceBaseInfo
     * @param invoiceBase
     * @return int
     * @throws
     */
    int addInvoiceBaseInfo(InvoiceBase invoiceBase);

    /**
     * 批量删除发票基本信息
     * @Title: batchDelInvoiceBaseInfoByUnids
     * @param invoiceBaseUnids
     * @return int
     * @throws
     */
    int batchDelInvoiceBaseInfoByUnids(ArrayList<String> invoiceBaseUnids);

    /**
     * 删除发票基本信息
     * @Title: delInvoiceBaseInfoByUnid
     * @param unid
     * @return int
     * @throws
     */
    int delInvoiceBaseInfoByUnid(String unid);

    /**
     * 批量更新发票基本信息
     * @Title: batchUpdateInvoiceBaseInfoByUnid
     * @param invoiceBaseList
     * @return int
     * @throws
     */
    int batchUpdateInvoiceBaseInfoByUnid(List<InvoiceBase> invoiceBaseList);

    /**
     * 更新发票基本信息
     * @Title: updateInvoiceBaseInfoByUnid
     * @param invoiceBase
     * @return int
     * @throws
     */
    int updateInvoiceBaseInfoByUnid(InvoiceBase invoiceBase);

    /**
     * 分页查询发票基本信息
     * @Title: queryInvoiceBaseInfo
     * @param paramMap
     * @return List<InvoiceBase>
     * @throws
     */
    List<InvoiceBase> queryInvoiceBaseInfo(Map<String, Object> paramMap);

    /**
     * 查询发票基本信息
     * @Title: queryInvoiceBaseInfo
     * @return List<InvoiceBase>
     * @throws
     */
    List<InvoiceBase> queryInvoiceBaseInfo();

    /**
     * 条件查询发票基本信息数量
     * @Title: queryInvoiceBaseInfoCount
     * @param paramMap
     * @return Integer
     * @throws
     */
    Integer queryInvoiceBaseInfoCount(Map<String, Object> paramMap);

    /**
     * 查询发票基本信息数量
     * @Title: queryInvoiceBaseInfoCount
     * @return Integer
     * @throws
     */
    Integer queryInvoiceBaseInfoCount();

}
